<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        function Person(){}

        Person.prototype.name = '张三';
        Person.prototype.age = 18;
        Person.prototype.eat = function(){
            console.log(this.name + '正在吃')
        };


        var p1 = new Person();
        var p2 = new Person();

        // console.log(p1);
        // console.log(p2);


        // 任何对象身上有个属性  __proto__ 
        // __proto__指向所属构造函数的 prototype(原型),这个prototype属性有个指针
        // 这个指针指向  一个对象  这个对象就是原型对象  

        // 因为这个原型对象的存在 
        // 所有的从构造函数 创建的对象都可以使用这个原型对象的属性和方法 

        console.log(p1.name);
        p1.name = '孟致远';
        console.log(p1.name);// 孟致远

        // 上面 p1.name = '孟致远'; 给p1添加一个属性 name 赋值 孟致远
        console.log(p1); // 原型对象依然是张三  
        // 因为原型对象要被所有的实例共享 


    </script>
</body>
</html>